/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.facade.info;

import info.peigen.hotpot.business.customer.facade.enums.CustomerLevelType;
import info.peigen.hotpot.business.customer.facade.enums.CustomerRegisterMethod;
import info.peigen.hotpot.business.customer.facade.enums.CustomerSource;
import info.peigen.hotpot.business.customer.facade.enums.CustomerStatus;
import info.peigen.hotpot.common.core.domain.Image;
import info.peigen.hotpot.common.service.base.manage.ManageInfoBase;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

import static info.peigen.hotpot.business.customer.facade.enums.CustomerRegisterMethod.SELF;

/**
 * <b>(CustomerManageInfo)</b>
 *
 * @author czj
 * @version 1.0.0
 * @since 2022/8/2
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class CustomerManageInfo extends ManageInfoBase {
    /** 客户Id,有别于表id */
    String            customerId;
    /** 昵称 */
    String            nickname;
    /** 手机号 */
    String            mobile;
    /** 邮件 */
    String            email;
    /** 客户状态;INIT:初始化, QUICK_REGISTER:快速注册客户, UN_ACTIVATED:注册未激活, UN_CERT:未实名, CERT_PASS:已实名, NORMAL:正常客户, FREEZE:账户被冻结, UN_SUBSCRIBE:账户被注销 */
    CustomerStatus    status;
    /** 企业名称 */
    String            enterpriseName;
    Long              customerScore;
    /** 等级;Bronze:青铜,Silver:白银,Gold:黄金,Platinum:铂金,Diamond:钻石 */
    CustomerLevelType levelType;
    /** 注册方式;SELF:主动注册, SALES:销售 */
    @Builder.Default
    CustomerRegisterMethod customerRegisterMethod = SELF;
    /** 客户来源;INIT:初始化, B2B:B2B注册, B2C:B2C注册, EZYMONENY:EZYMONENY同步 */
    CustomerSource source;
    /** 头像 */
    Image          avatar;
}